, , , , , ,

Comment configurer un ordinateur en "serveur d'impression" ?

Cette page explique comment configurer un poste Ubuntu en serveur d'impression. Cette configuration va permettre de partager une imprimante qui est raccordée directement à cet ordinateur.

La schéma suivant décrit cette situation :

Cette documentation explique la méthode pour Ubuntu, Edubuntu et Xubuntu, et une méthode universelle à tous les systèmes disposant de CUPS (MacOS et Unix en général).

Pré-requis

Configuration du poste Serveur

Ubuntu 9.04 et supérieurs

Méthode via l'interface web de CUPS

Aller à l'adresse http://localhost:631/admin et cocher "Partager les imprimantes connectées à ce système".

Si votre serveur n'a pas d'interface graphique, il faut autoriser un accès d'une autre machine du réseau (avec interface graphique elle !) : sur le serveur , /etc/cups/cupsd.conf , modifier (dans l'exemple, 192.168.0.1 est le serveur et 192.168.0.2 et la machine de laquelle on veut accéder à l'interface web:
Listen 192.168.0.1:631
# Restrict access to the admin pages...
<Location /admin>
Order deny,allow
Deny From All
Allow From 127.0.0.1
Allow from 192.168.0.2
</Location>

Une fois ceci fait, on accède à l'interface web via : http://192.168.0.1:631/admin

# Restrict access to the admin pages… <Location /admin> Order deny,allow Deny From All Allow From 127.0.0.1 Allow from 192.168.0.2 </Location>

Autre méthode

Si le gestionnaire se bloque sur une erreur « Failed to set settings », la solution (moins propre) est de refaire la modification en tant que root : sudo /usr/bin/system-config-printer

Problème possible

Si après la configuration vous ne pouvez toujours pas partager votre imprimante, éditez le fichier /etc/cups/cupsd.conf en remplaçant la variable @LOCAL par votre adresse réseau 192.168.* dans la section Allow shared printing…

<Location />
  # Allow shared printing...
  Order allow,deny
  # Allow @LOCAL
  Allow 192.168.*
</Location>

Ensuite, relancez CUPS via la commande dans un terminal:

sudo service cups restart

CUPS : universel, pratique, fiable

Si CUPS est installé, une interface WEB est disponible à l'adresse http://localhost:631. Cette jolie interface est celle de CUPS, et à partir de là, votre paramétrage peut se faire en quelques clics de souris.

Ajouter une imprimante

Sous la bannière bienvenue vous trouverez "ajouter une imprimante"… Suivez les instructions.

Autoriser les utilisateurs à s'en servir

Aller dans l'onglet "administration" (2e en partant de la gauche), cocher 2 ou 3 lignes :

Cette dernière vous permettra de faire un petit coucou à votre CUPS et de le configurer depuis n'importe quel poste de votre réseau local, en y accédant ainsi :

http://<@ip_du_cups_de_l'imprimante>:631

Ou même depuis l'Internet (la 2e ligne servant à ça), à condition que votre connexion à Internet redirige le port 631 vers votre ordinateur (enfin celui disposant du CUPS).

Un exemple simple

Admettons que votre imprimante soit connectée soit en USB, soit en parallèle (ou tout autre interface), à un ordinateur dont l'adresse IP est 192.168.1.3 dans le réseau local. Alors, accéder à cette imprimante (et surtout au CUPS qui la concerne) se fera via http://192.168.1.3:631/.

La petite astuce

Plein d'imprimantes sur le réseau ? Pas de panique. À chaque CUPS son imprimante, mais aussi celle de l'autre. Il vous suffira d'ajouter une imprimante, connectée en IPP (Internet Printing Protocol) et d'entrer en guise d'adresse :

ipp://<@ip_du_cups_de_l'imprimante>:631/printers/<nom_de_l'imprimante_sur_ce_cups>/
Exemple simple

Si mon ordinateur, dont l'@IP est 192.168.1.3 sur le réseau local dispose d'une imprimante parallèle configurée préalablement, et dont le nom est TralAlA123, alors l'adresse PII1) est la suivante :

ipp://192.168.1.3:631/printers/TralAlA123

Et celle-ci reste valable sur tout le réseau local.

Le dernier coup de pouce

Une aide formidable est fournie. L'aide est bien documentée (bien qu'améliorable, bien sûr), mais en Anglais, ce qui risque d'en tuer plus d'un.

Pour le cas d'un serveur ne possédant pas d'interface graphique on peut accéder à l'interface web de cups (non accessible par défaut depuis un autre poste), pour cela connecter vous dans un premier temps au sevrer grâce au protocole ssh, vous pourrez ainsi à l'aide d'un programme de navigation web pour console tel que lynx ou links y géré cups en vous rendant à l'adresse suivante : 127.0.0.1:631

Vous pourrez entre autre y activer l'administration à distance de cups, pour cela rendez vous dans la partie administration, cocher la casse Allow remote administration, puis appliquer avec change settings.

Enfin à l'aide de votre navigateur web préférer vous pouvez gérer facilement cups à distance en vous rendant à adresse_de_votre_serveur:631

Configurer un client pour accéder à l'imprimante

Configuration d'un client Ubuntu 8.04 LTS ou suivants

Automatiquement

Manuellement

Si l'auto-détection ne marche pas, ou si l'ordinateur qui partage l'imprimante ne partage pas les données permettant l'auto-détection, suivez cette méthode :

Si vos imprimantes réseau sont correctement reconnues mais qu'à l'impression rien ne se passe… lisez les 2 points suivants.
Amis débutants, si vous ne comprenez pas le point 1 ci-dessous passez au 2 directement…
Explication et détection du problème

Essayez de faire un ping sur votre machine serveur (pas l'IP !) si ça ne marche pas vous tenez le coupable ! CUPS présente à mon avis un petit défaut à ce niveau-là. Une connexion réseau et CUPS peut très bien se faire en utilisant seulement des adresses IP, mais à la détection d'une imprimante réseau CUPS enregistre son adresse IPP en utilisant le nom d'hôte du serveur, ensuite à l'impression c'est le nom en question qui est utilisé pour chercher le serveur. Or… le nom d'hôte du serveur n'est pas toujours connu du client.

Résolution du problème

Il vous suffit de faire connaître le nom d'hôte du serveur au client. Concrètement, il suffit de modifier le fichier /etc/hosts pour ajouter une ligne au début (sans effacer le reste) avec l'IP du serveur d'impression suivie de son nom. Exemple :

192.168.xx.xx   nom_du_serveur

Si vous ne savez pas par quoi remplacer les xx.xx et avez accès au serveur, il suffit d'y taper « ifconfig » dans un terminal. Vous y trouverez une ligne avec un message du type :

inet adr:192.168.1.10

C'est justement l'adresse IP de la machine sur le réseau local. Si vous n'avez pas la possibilité de faire cela, demandez à l'administrateur du serveur.

Concernant le nom d'hôte, sur votre machine cliente il suffit de regarder là : http://localhost:631/printers/ c'est la page des imprimantes de CUPS. Cherchez l'imprimante réseau située sur le serveur qui vous intéresse et vous devez voir une ligne du type :

URL du matériel : IPP://nom_du_serveur:631...

C'est ce nom qu'il faut utiliser pour votre fichier /etc/hosts.

Voilà, avec ça vous devriez pouvoir faire "bonne impression" ;-)


Contributeurs : figaro, dmoyne, Incoming, KinderSurpriZ, Fabien26, dsi0743, DarkHylian, Mysteroïd, guigouz.

1)
traduction la plus adaptée de IPP : Protocole d'impression par Internet